mod opts;

pub use opts::Opts;
pub use opts::SubCommand;


mod process;

pub use process::process_csv;
pub use process::process_genpass;
pub use process::base64code;
pub use process::sign;
pub use process::serve;


mod cli;

pub use cli::CsvOpts;

pub use cli::GenPassOpts;

pub use cli::OutputFormat;

pub use cli::Base64Subcommand;

pub use cli::Base64Format;

pub use cli::TextSubcommand;

pub use cli::TextSignFormat;

pub use cli::HttpSubcommand;
pub use cli::HttpServeOpts;


mod utils;

pub use utils::get_reader;


pub trait CmdExector {
    async fn execute(self) -> anyhow::Result<()>;
}